/*
  将下面异步代码使用 Promise 的方法改进
  尽量用看上去像同步代码的方式
  setTimeout(function () {
    var a = 'hello'
    setTimeout(function () {
      var b = 'lagou'
      setTimeout(function () {
        var c = 'I ♥ U'
        console.log(a + b +c)
      }, 10)
    }, 10)
  }, 10)
*/

//先柯里化
const myTimeout = (seconds) =>{
  return fn => setTimeout(fn, seconds)
}
const tenTimeout = myTimeout(1000)

new Promise(resolve => {
  tenTimeout(() => resolve('hellow'))
})
.then(v => new Promise(resolve => tenTimeout(() => resolve(v + 'lagou'))))
.then(v => tenTimeout(() => console.log(v + 'I ♥ U')))